package com.jinzhi.jzweb.strategy.decrypt;


import com.jinzhi.common.base.CoreService;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.DecryptDO;
import org.apache.ibatis.annotations.Insert;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;


/*
 *  @author : JingChangTian
 *  @date   : 2024/3/18 14:09
 *  @description :  解密
 *
 */
public interface DecryptService extends CoreService<DecryptDO> {


    /**
     * 导入一次加密信息
     * @param file
     * @param field
     * @return
     */
    Result importExcelDecryptNum1(@RequestParam("file") MultipartFile file, String field);

    /**
     * 导入二次加密信息
     * @param file
     * @param field
     * @return
     */
    Result importExcelDecryptNum2(@RequestParam("file") MultipartFile file, String field);


    /**
     * 修改解密信息
     * @param decryptDO
     * @return
     */
    Result updateDecrypt(DecryptDO decryptDO);

    /**
     * 根据赛场查询已经匹配解密列表
     * @param decryptDO
     * @return
     */
    Result getDecrypt(DecryptDO decryptDO);

    /**
     * 根据赛场查询未匹配解密列表
     * @param decryptDO
     * @return
     */
    Result getAddDecrypt(DecryptDO decryptDO);


    /**
     * 导出根据赛场,类型导出解密信息
     * @param response
     * @param field
     * @param type
     */
    void downloadImportDecrypt(HttpServletResponse response, String field, Integer type);

    /**
     * 根据id删除解密信息
     * @param id
     * @return
     */
    Result deltedDecrypt(Long id);
}
